﻿//--------------------------------------------------------------------------
// 
//  Copyright (c) Chili Software.  All rights reserved. 
// 
//  File: OEItem.cs
//
//  Description: An item in the ObjectExpression.
// 
//--------------------------------------------------------------------------

using System;
using System.Collections.Generic;

namespace Chili.Opf3.Query.OPathParser
{
	/// <summary>
	/// Represents an Item of the <see cref="Opf3.Query.ObjectExpression">ObjectExpression</see>.
	/// </summary>
	/// <remarks>
	/// All items that are in the Items collection of the 
	/// <see cref="Opf3.Query.ObjectExpression">ObjectExpression</see> are inherited from this class.
	/// </remarks>
	[Serializable]
	public abstract class OEItem
	{
		private IList<OEItem> _items = new List<OEItem>();

		/// <summary>
		/// Returns the list of items. Each <see cref="OEItem">OEItem</see> can contain a list of other
		/// <see cref="OEItem">OEItem</see>.
		/// </summary>
		/// <value>List of items derived from <see cref="OEItem">OEItem</see>.</value>
		public IList<OEItem> Items
		{
			get { return _items; }
		}
	}
}
